//在这个里面将.vue中的内容解析编译并且展示在浏览器中

//1.0 导入vue核心包,
import Vue from 'vue';   //导入包的时候不需要写路径,直接写包名字即可

//2.0 导入App.vue的vue对象
import App from './App.vue';

//3.0 将vue-router集成到这个项目中来
import vueRouter from 'vue-router';
//3.0.1 将vue-router绑定到vue对象上
Vue.use(vueRouter);
//3.0.2 导入路由规则对应的组件对象
import home from './components/home.vue';
import shopcar from './components/shopcar/car.vue';
import newslist from './components/news/newslist.vue';
import newsinfo from './components/news/newsinfo.vue';
import photolist from './components/photo/photolist.vue';
import photoinfo from './components/photo/photoinfo.vue';
import goodslist from './components/goods/goodslist.vue';
import goodsinfo from './components/goods/goodsinfo.vue';
import goodsdesc from './components/goods/goodsdesc.vue';
import goodscomment from './components/goods/goodscomment.vue';
//3.0.3 定义路由规则
var router = new vueRouter({
	linkActiveClass:'mui-active',         //改变路由激活时的class名称
	routes:[
		{path:'/',redirect:'/home'},              //设置默认跳转到首页
		{path:'/home',component:home},                   //首页
		{path:'/shopcar',component:shopcar},             //购物车
		{path:'/news/newslist',component:newslist},      //新闻列表
		{path:'/news/newsinfo/:id',component:newsinfo},   //新闻详情
		{path:'/photo/photolist',component:photolist},   //图片列表
		{path:'/photo/photoinfo/:id',component:photoinfo},   //图片详情
		{path:'/goods/goodslist',component:goodslist},   //商品购买列表
		{path:'/goods/goodsinfo/:id',component:goodsinfo},   //商品购买详情
		{path:'/goods/getdesc/:id',component:goodsdesc},   //商品购买详情图文信息
		{path:'/goods/goodscomment/:id',component:goodscomment},   //商品购买详情评论信息
	]
})

//4.0 注册mint-ui
//导入mint-ui的css文件
import 'mint-ui/lib/style.min.css'
//导入mint-ui组件对象
import mintui from 'mint-ui';
//4.0.1 将mint-ui绑定到vue对象上
Vue.use(mintui)


//5.0 注册mui的css样式
import '../mui/css/mui.css';

//6.0 导入一个当前系统的全局基本样式
import '../css/site.css';


//7.0 将vue-resource集成到这个项目中来,这样就可以通过$http请求后台数据
import vueResource from 'vue-resource';
//7.0.1 将vue-resource绑定到vue对象上
Vue.use(vueResource)

// 8.0 将mint-ui中的Toast组件(实现弹窗效果)绑定到Vue对象的原型中,这样在任何地方都可以使用这个组件
//8.0.1 先引进Toast组件
import { Toast } from 'mint-ui';
//8.0.2 再绑定组件到Vue对象中
//这里把Toast挂靠到$tip,是因为要遵循Vue的属性规则
Vue.prototype.$tip = Toast;

//9.0 定义全局的过滤器实现日期的格式化(定义全局是为了方便后面再任何地方都可以使用)
//9.0.1 导入moment类库
import moment from 'moment';
// 参数input:指|左边的内容
// 参数fmtString:指自定义过滤器本身的参数
Vue.filter('datafmt',function(input,fmtString){
	//9.0.2 使用momentjs这个日期格式化类库实现日期的格式化功能
	return moment(input).format(fmtString)
})

//10.0 导入common.js Api公共域名
import common from './kits/common.js';
//10.0.1 然后把这个方法挂靠到Vue.原型上,这样任何组件中都能使用这个公共api域名
Vue.prototype.$common = common

//11.0 使用图片预览组件
import VuePreview from 'vue-preview';
Vue.use(VuePreview)


//11.0 利用Vue对象进行解析渲染
new Vue({
	el:'#app',
	//es5的写法
	// render:function(create){
	// 	create(App)  //这里的App指的是上面导入的App对象
	// }

	//使用路由对象实例,即开启路由
	router:router,             //前面的router是自定义的是一个属性名,后面一个router是前面定义的路由对象

	//es6的写法,=>是箭头函数
	render:c=>c(App)           //前面的c代表的是形参create,后面的c代表的是实参create
})